Publisher version (open access) of How (not) to write an introductory programming exam